1. Field of the Invention
The present invention is directed generally to a system and method for maintaining the integrity of databases and more specifically to a system and method for maintaining the integrity of two substantially identical databases across a computer network.
2. Description of the Prior Art
Many state of the art data processing systems consist of a network of multiple central processing units ("CPUs") where all of the CPUs perform operations on a common database. One problem that is encountered with such systems is that simultaneous updates to the common database by several of the application programs that operate on these CPUs can cause incorrect results to be obtained from the application programs. The solution to this problem has been to implement a system wherein a single application program causes a "lock" to be placed on either the entire database or a predefined portion of the database. This application program can then proceed to cause updates to be made to the database. Another application program cannot perform any updates on the locked portions of the database until the first application program "unlocks" those portions of the database.
Because the common database typically resides on each CPU in the network, updates to each of these databases must be made across the network before another application program can perform updates on the locked portions of the database. As a result, this type of arrangement tends to dramatically decrease the speed of operation of the application programs. Thus, the need exists for a system wherein an application program can "unlock" the database on each CPU after the updates have been made to the database on that CPU but before the updates have been made to the databases on the other CPUs in the network.